我正在按照本教程使用Spring构建一个基本应用程序.只要我遵循这个子目录结构,它就能完美运行:
??? src
??? main
??? java
??? hello
Run Code Online (Sandbox Code Playgroud)
如果我将我的Application.java和ScheduledTasks.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)
我的问题是,为什么我需要将我的课程放入包中?它有什么用?我怎样才能避免这个错误?如果它是一个非常简单的应用程序,我真的需要使用包吗?
是否有一种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) 如果你在命令"atom"中给出.在终端中,Atom编辑器打开当前文件夹,我准备编码了.
我正在尝试使用Ubuntu与Pycharm实现相同:获取当前目录并使用Pycharm作为项目打开它.
有没有办法通过设置bash别名来实现这一点?
我一直在Eclipse IDE中使用Java.除了'{'字符外,我可以很好地输入每一个字符.当我想创建一个新的{}块时,我需要每次都按Ctrl + c和Ctrl + v.
在"窗口">"首选项">"编辑器">"键入大括号"处于打开状态,并且在我设置复制{后,它们会自动更正.
在Eclipse之外,在文本编辑器中,甚至在这个问题中,我可以输入{通过点击Atl Gr + B,所以我认为问题出在Eclipse内部.
任何帮助将非常感激,这个错误变得非常烦人.
我正在尝试使用 Cypress 为该应用程序编写端到端测试:https://app.gotphoto.com/admin/auth/login
当我从浏览器访问上述网址时,会按预期显示登录表单。
当我通过 Cypress 访问上述网址时:
https://app.gotphoto.com/admin/auth/loginhttps://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)
我使用上述配置创建了一个存储库,因此很容易重现。
在Thymeleaf 文档的有关标准url语法的开头,有两个示例,但是它们之间的区别没有说什么:
<a th:href="@{http://www.thymeleaf/documentation.html}">
<a href="http://www.thymeleaf/documentation.html">
Run Code Online (Sandbox Code Playgroud)
两者之间有区别吗?如果没有,第一个的用途是什么?
我有一个简单的烧瓶应用程序,我使用 virtualenv 来管理我的依赖项。但是,我想分离我的依赖项。对于测试,我使用Flask-Testing,但这是我不想包含在我的生产环境中的依赖项。
如何分离我的依赖项,以便我有单独的开发和生产依赖项?
我试图在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) 我想使用 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) 我正在尝试在 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)
如果我将它们上传到默认区域,我可以上传到文件。但是,我希望将我的文件存储在另一台服务器上。我在欧盟地区有一个存储桶,如果我尝试使用上述代码在那里上传内容,则会收到以下错误代码: …
我有一个简单的 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) 我正在为一个使用Peewee的程序写一个基本的gui.在gui中,我想显示我数据库中存在的所有表.
有没有办法获取所有现有表的名称,让我们在列表中说?
我正在尝试使用身份验证运行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) javascript ×3
python ×3
java ×2
spring ×2
amazon-s3 ×1
bash ×1
cloud ×1
command-line ×1
cypress ×1
docker ×1
e2e ×1
e2e-testing ×1
eclipse ×1
html ×1
ide ×1
jquery ×1
jsx ×1
mockito ×1
mockmvc ×1
mongodb ×1
peewee ×1
pycharm ×1
reactjs ×1
redirect ×1
source-maps ×1
spring-boot ×1
spring-mvc ×1
thymeleaf ×1
unit-testing ×1
virtualenv ×1
webpack ×1
webpack-4 ×1