小编han*_*ris的帖子

Spring应用程序不会在包之外启动

我正在按照教程使用Spring构建一个基本应用程序.只要我遵循这个子目录结构,它就能完美运行:

??? src
    ??? main
        ??? java
            ??? hello
Run Code Online (Sandbox Code Playgroud)

如果我将我的Application.javaScheduledTasks.java类移出hello包,我会收到以下错误:

** WARNING ** : Your ApplicationContext is unlikely to start due to a `@ComponentScan` of the default package.
Run Code Online (Sandbox Code Playgroud)

几秒钟后,确实......

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.context.annotation.AnnotationConfigApplicationContext@71fa8894: startup date [Wed Jan 18 22:19:12 CET 2017]; root of context hierarchy
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么我需要将我的课程放入包中?它有什么用?我怎样才能避免这个错误?如果它是一个非常简单的应用程序,我真的需要使用包吗?

java spring

41
推荐指数
2
解决办法
3万
查看次数

在jQuery中选择最深的孩子

是否有一种cheep方法来选择元素中最深的子元素?

例:

<div id="SearchHere">
  <div>
    <div>
      <div></div>
    </div>
  </div>
  <div></div>
  <div>
    <div>
      <div>
        <div id="selectThis"></div>
      </div>
    </div>
  </div>
  <div>
    <div></div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

jquery css-selectors

27
推荐指数
2
解决办法
2万
查看次数

使用当前路径从终端打开Pycharm

如果你在命令"atom"中给出.在终端中,Atom编辑器打开当前文件夹,我准备编码了.

我正在尝试使用Ubuntu与Pycharm实现相同:获取当前目录并使用Pycharm作为项目打开它.

有没有办法通过设置bash别名来实现这一点?

python bash command-line pycharm

10
推荐指数
2
解决办法
2万
查看次数

我不能在Eclipse中输入花括号

我一直在Eclipse IDE中使用Java.除了'{'字符外,我可以很好地输入每一个字符.当我想创建一个新的{}块时,我需要每次都按Ctrl + c和Ctrl + v.

在"窗口">"首选项">"编辑器">"键入大括号"处于打开状态,并且在我设置复制{后,它们会自动更正.

在Eclipse之外,在文本编辑器中,甚至在这个问题中,我可以输入{通过点击Atl Gr + B,所以我认为问题出在Eclipse内部.

任何帮助将非常感激,这个错误变得非常烦人.

java eclipse ide

9
推荐指数
2
解决办法
2万
查看次数

cypress 中的应用程序会重定向,而外部则不会

我正在尝试使用 Cypress 为该应用程序编写端到端测试:https://app.gotphoto.com/admin/auth/login

当我从浏览器访问上述网址时,会按预期显示登录表单。

当我通过 Cypress 访问上述网址时:

  • cypress 首先导航到https://app.gotphoto.com/admin/auth/login
  • 之后我立即被重定向到https://app.gotphoto.com/__/并且登录表单未显示

这是 Cypress 内部的两个屏幕截图:

在此输入图像描述 在此输入图像描述

我的问题是:为什么它在我的浏览器中的运行方式与在 Cypress / Cypress 浏览器中的运行方式有差异?

我使用的浏览器是 Chrome 89,无论是否使用 Cypress 运行。

我正在运行的整个测试是这样的:

describe('login screen', () => {
  it('logs in', () => {
    cy.visit('/admin/auth/login');
  });
});

Run Code Online (Sandbox Code Playgroud)

使用 cypress.json:

{
  "baseUrl": "https://app.gotphoto.com"
}

Run Code Online (Sandbox Code Playgroud)

我使用上述配置创建了一个存储库,因此很容易重现。

javascript redirect e2e-testing cypress e2e

8
推荐指数
1
解决办法
2万
查看次数

在Thymeleaf中链接绝对URL时,th:href和href之间的区别

在Thymeleaf 文档的有关标准url语法的开头,有两个示例,但是它们之间的区别没有说什么:

<a th:href="@{http://www.thymeleaf/documentation.html}">

<a href="http://www.thymeleaf/documentation.html">
Run Code Online (Sandbox Code Playgroud)

两者之间有区别吗?如果没有,第一个的用途是什么?

html thymeleaf

6
推荐指数
1
解决办法
1953
查看次数

使用 virtualenv 分离开发​​和生产依赖项

我有一个简单的烧瓶应用程序,我使用 virtualenv 来管理我的依赖项。但是,我想分离我的依赖项。对于测试,我使用Flask-Testing,但这是我不想包含在我的生产环境中的依赖项。

如何分离我的依赖项,以便我有单独的开发和生产依赖项?

python virtualenv

6
推荐指数
1
解决办法
2608
查看次数

使用MockMvc post方法测试Spring Controller

我试图在Spring Boot应用程序中测试我的控制器的方法.这是一个后端点,它在请求中获取一个id,并将此id传递给服务:

@Slf4j
@Controller
public class AdministrationController {

    private final AdministrationService administrationService;

    @Autowired
    public AdministrationController(AdministrationService administrationService) {
        this.administrationService = administrationService;
    }

    @PostMapping("/administration")
    public @ResponseBody ResponseEntity<String> deleteByMessageId(String id) {
        return new ResponseEntity<>(administrationService.deleteMessageById(id), HttpStatus.OK);
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器的这种方法的测试:

RunWith(SpringRunner.class)
@WebMvcTest(AdministrationController.class)
public class AdministrationControllerTest {

    @Autowired
    private MockMvc mvc;

    @MockBean
    private AdministrationService service;

    @Test
    public void 
    deleteByMessageId_whenCalled_thenServiceMethodIsCalledWithRequestParameters() throws Exception {

        Object randomObj = new Object() {
            public final String id = "1234";
        };

        ObjectMapper objectMapper = new ObjectMapper();
        String json = objectMapper.writeValueAsString(randomObj);


        MvcResult result …
Run Code Online (Sandbox Code Playgroud)

unit-testing spring-mvc mockito spring-boot mockmvc

6
推荐指数
2
解决办法
1万
查看次数

带有 sourcemap 的 Webpack 无法解析生产模式下的变量

我想使用 Webpack 为我们的生产构建生成源映射。我设法生成它,但是当我在调试器中的断点处停止时,变量未解析:

在此输入图像描述

我究竟做错了什么?如何生成一个源映射,让 chrome devtools 在我停止在调试器中的断点处时解析变量?

这些是我的 webpack 配置:

webpack.config.js:

const path = require('path');
const ROOT = path.resolve( __dirname, 'src/main/resources/packedbundle' );

const HtmlWebpackPlugin = require('html-webpack-plugin');
const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
context: ROOT,

resolve: {
    extensions: ['.ts', '.js']
},

module: {
    rules: [
        {
            test: /\.ts$/,
            exclude: /node_modules/,
            use: [
                {
                    loader: 'eslint-loader',
                    options: {
                        failOnError: true,
                        quiet: true
                    }
                }
            ],
            enforce: 'pre'
        },

        {
            test: /\.ts$/,
            exclude: [ /node_modules/ ],
            use: …
Run Code Online (Sandbox Code Playgroud)

javascript source-maps webpack webpack-4

5
推荐指数
1
解决办法
1906
查看次数

如何为 amazonS3 客户端设置区域?

我正在尝试在 Java Web 应用程序中实现文件上传。当用户通过 UI 上传文件时,我希望它存储在 amazon amazon s3 存储中。

这是我的后端代码:

@PostMapping("/upload-file")
public String saveFile(@RequestParam("name") String name, @RequestParam("file")MultipartFile file, RedirectAttributes redirectAttributes){

    AWSCredentials credentials = new BasicAWSCredentials("user", "psw");

    AmazonS3 s3Client = new AmazonS3Client(credentials);

    String bucketName = "kfib";

    s3Client.createBucket(bucketName);

    s3Client.setRegion(com.amazonaws.regions.Region.getRegion(Regions.EU_WEST_1));


    ObjectMetadata md = new ObjectMetadata();
    md.setContentType("application/pdf");
Run Code Online (Sandbox Code Playgroud)

// md.set

    try{
        InputStream inputStream = file.getInputStream();

        s3Client.putObject(new PutObjectRequest(bucketName, name, inputStream, md).withCannedAcl(CannedAccessControlList.PublicRead));

        S3Object s3Object = s3Client.getObject(new GetObjectRequest(bucketName, name));

        log.info("Url of the image:\n");
        log.info(s3Object.getObjectContent().getHttpRequest().getURI().toString());

    }catch(IOException e){
        e.printStackTrace();
    }


    log.info("upload called with post method...");

    return "redirect:/admin/posts";
}
Run Code Online (Sandbox Code Playgroud)

如果我将它们上传到默认区域,我可以上传到文件。但是,我希望将我的文件存储在另一台服务器上。我在欧盟地区有一个存储桶,如果我尝试使用上述代码在那里上传内容,则会收到以下错误代码: …

cloud spring amazon-s3 amazon-web-services

4
推荐指数
1
解决办法
1万
查看次数

为什么状态在相同类型的两个组件之间共享?

我有一个简单的 React 应用程序,我根据布尔变量的值有条件地渲染同一组件的两个实例:

export default function App() {
  const [showFirst, setShowFirst] = useState(true);
  return (
    <div>
      <button type="button" onClick={() => setShowFirst(show => !show)}>
        Switch between components
      </button>
      {showFirst ? (
        <SomeComponent text="I am the first" />
      ) : (
        <SomeComponent text="I am the second" />
      )}
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

这个组件有内部状态:我在这个组件内点击鼠标增加一个计数器:

class SomeComponent extends React.Component {
  state = {
    count: 0
  };
  componentDidMount() {
    console.log("mounted");
  }

  componentWillUnmount() {
    console.log("unmounting");
  }

  render() {
    return (
      <div
        style={{
          display: "flex",
          flexDirection: "column",
          border: …
Run Code Online (Sandbox Code Playgroud)

javascript jsx reactjs

3
推荐指数
1
解决办法
45
查看次数

我可以以某种方式查询peewee/postgres中的所有现有表吗?

我正在为一个使用Peewee的程序写一个基本的gui.在gui中,我想显示我数据库中存在的所有表.

有没有办法获取所有现有表的名称,让我们在列表中说?

python peewee

2
推荐指数
1
解决办法
3057
查看次数

Docker内部的Mongo身份验证

我正在尝试使用身份验证运行mongo docker映像。遵循文档中最简单的示例,我通过docker-compose up命令运行了mongo和mongo-express图像。我docker-compose.yml现阶段:

version: '3.1'

services:

  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example
Run Code Online (Sandbox Code Playgroud)

这样运行,两个容器都可以正常运行,我可以从mongo-express网站浏览mongo的内容。但是,每当我更改docker-compose.yml文件名或密码时,例如:

version: '3.1'

services:

  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example123

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example123
Run Code Online (Sandbox Code Playgroud)

mongo-express抛出未经授权的错误消息:

mongo-express_1  | Admin Database connected
mongo-express_1  | { MongoError: Authentication failed.
mongo-express_1  |     at Function.MongoError.create …
Run Code Online (Sandbox Code Playgroud)

mongodb docker docker-compose

0
推荐指数
2
解决办法
1676
查看次数